package tools

import (
	"fmt"
	"ju/src/single"
)

// PutObjectSample 展示了简单上传、断点续传的使用方法
func PutObjectSample() {
	// 创建Bucket
	bucket, err := single.GetBucket("bucketName")
	if err != nil {
		fmt.Println(err)
	}

	//// 场景3：上传本地文件，用户打开文件，传入句柄。
	//fd, err := os.Open(localFile)
	//if err != nil {
	//	HandleError(err)
	//}
	//defer fd.Close()
	//
	//err = bucket.PutObject(objectKey, fd)
	//if err != nil {
	//	HandleError(err)
	//}
	//
	//// 场景4：上传本地文件，不需要打开文件。
	//err = bucket.PutObjectFromFile(objectKey, localFile)
	//if err != nil {
	//	HandleError(err)
	//}
	//
	//// 场景5：上传object，上传时指定对象属性。PutObject/PutObjectFromFile/UploadFile都支持该功能。
	//options := []oss.Option{
	//	oss.Expires(futureDate),
	//	oss.ObjectACL(oss.ACLPublicRead),
	//	oss.Meta("myprop", "mypropval"),
	//}
	//err = bucket.PutObject(objectKey, strings.NewReader(val), options...)
	//if err != nil {
	//	HandleError(err)
	//}
	//
	//props, err := bucket.GetObjectDetailedMeta(objectKey)
	//if err != nil {
	//	HandleError(err)
	//}
	//fmt.Println("Object Meta:", props)

	fmt.Println("PutObjectSample completed")
}
